package com.ftwj.demo.permission.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ftwj.demo.permission.entity.ResourceBean;
import com.ftwj.demo.permission.vo.RouterEntity;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author Frencis
 * @since 2019-09-22
 */
public interface ResourceDao extends BaseMapper<ResourceBean> {
	
	/**
	 * 
	 * @Title: selectListByRoleId
	 * @Description: 根据角色id获取资源列表
	 * @author: WangShengLi
	 * @param roleId
	 * @return
	 * @return: List<ResourceBean>
	 */
	List<ResourceBean> selectListByRoleId(@Param("roleId") int roleId);
	
	/**
	 * 
	 * <p>Title: selectResourceTree</p>  
	 * <p>Description: 根据根节点父ID和资源类型查询资源树</p>  
	 * @param pid 根节点的父ID
	 * @param type 资源类型（1.菜单，2.按钮）
	 * @return 
	 * @author WangSLi
	 * @date 2020年4月7日  
	 * @version 1.0
	 */
	List<Map<String, Object>> selectResourceTree(@Param("pid") int pid,@Param("type") int type,@Param("size") int size);
	
	/**
	 * <p>Title: getResouceByRoleId</p>  
	 * <p>Description: 根据roleId获取相应的权限ID</p>  
	 * @param id
	 * @param type
	 * @return 
	 * @author HeYang
	 * @date 2020年5月14日  
	 * @version 1.0
	 */
	List<Integer> selectResouceIdListByRoleId(@Param("roleId") Integer roleId,@Param("type") Integer type);

	/**
	 * 
	 * <p>Title: selectRouterListByRoleId</p>  
	 * <p>Description: 根据用户的角色列表，获取用户路由表</p>  
	 * @param roleId
	 * @return 
	 * @author WangSLi
	 * @date 2020年5月26日  
	 * @version 1.0
	 */
	List<RouterEntity> selectRouterListByRoleId(@Param("list") List<String> roles);
}
